草庐IT

c++ - 复制构造继承

全部标签

javascript - Javascript 中的类继承

我想知道如何在JavaScript中模拟类继承。我知道类不适用于JavaScript,我们使用的方式是通过函数创建对象并通过Prototype对象进行继承。例如,如何将此结构转换为JavaScript:publicclassMankind{publicstringname;publicstringlastname;}publicclassPerson:Mankind{publicvoidRun(stringfromWhat){//writetherunlogic}}这段代码在JavaScript中的等价物是什么。编辑:我还找到了另一个链接,其中DouglasCrockford将不同的继

javascript - 在构造函数中包装 new 是好是坏?

我看了JohnResig的BestPracticesinJavaScriptLibraryDesign推介会;一张幻灯片建议“调整”对象构造函数,使其实例化自身。functionjQuery(str,con){if(window===this){returnnewjQuery(str,con);}//...}这样,newjQuery("#foo")就变成了jQuery("#foo")。我认为这很有趣,但我没有在自己的代码中编写过这样的构造函数。不久之后,我在这里阅读了一篇关于SO的帖子。(抱歉,我不记得是哪一个或者我会提供链接。如果我能再次找到它,我会更新问题。)其中一条评论说隐藏ne

javascript - 使用继承时,构造函数和原型(prototype)对象有什么区别吗?

考虑以下JavaScript片段:functionfoo(){this.bar=function(){};}//or...(ifweusedanemptyconstructorfunction)foo.prototype.bar=function(){};我这样做有什么区别:functionbaz(){}baz.prototype=newfoo();在这两种情况下,baz最终都有一个成员bar但有什么不同呢?为什么我要在不同的地方这样做? 最佳答案 区别在于属性位于原型(prototype)链中的位置。假设我们有f=newfoo()

javascript继承框架

是否有一个小型、轻量级的javascript类继承解决方案,可以在客户端和服务器端(node.js)很好地工作?我不想要一个大库,只需要一个可以让我声明一个构造函数和一些方法,然后让一个类能够继承它的东西。 最佳答案 JohnResig在大约25行代码中概述了一个简单的继承框架here.我已经看到它使用效果很好。你可以这样使用它:varVehicle=Class.extend({init:function(wheels){this.wheels=wheels;}});varTruck=Vehicle.extend({init:fun

没有复制的 JavaScript 子数组?

我看到的所有创建子数组的文档都在谈论slice,它创建数组的副本。我想知道是否可以在不复制的情况下创建一个数组的切片,以便修改切片会修改原始数组。例如:varfoo=[1,2,3,4,5];varbar=foo.subarray(2,4);console.log(bar);//[2,3,4]bar[0]='hello,world';console.log(bar);//['hello,world',3,4]console.log(foo);//[1,'hello,world',3,4,5] 最佳答案 不幸的是,@Derek的回答需要

javascript - 复制数组任意次数(javascript)

假设我得到了一个数组。这个数组的长度是3,有3个元素:vararray=['1','2','3'];最终我需要检查这个数组是否等于具有相同元素的数组,但现在只是两次。我的新数组是:varnewArray=['1','2','3','1','2','3'];我知道我可以使用array.splice()来复制一个数组,但是我怎样才能将它复制到未知的次数呢?基本上我想要的是会产生效果的东西vardupeArray=array*2; 最佳答案 constduplicateArr=(arr,times)=>Array(times).fill(

javascript - 将 Javascript If 语句构造为在函数中同步的最佳方法

我问这个问题是为了学习用javascript做某事的“最佳实践”方式。假设我这里有这段代码:varsomeFunc=function(){if(something){//dosomething}if(somethingElse){//dosomethingElse}};问题是确保“something”始终在“somethingElse”之前运行的最佳方法是什么。由于javascript是异步的,我知道我需要某种回调系统来确保这一点。但是,有没有更简单的方法来重构它?如果有很多if语句怎么办?什么是最好的库来干净地做这样的事情?提前致谢。 最佳答案

javascript - 为什么 JavaScript 的后自增运算符与 C 和 Perl 不同?

我目前正在准备JavaScript考试。我对C和Perl也有一点了解,所以我熟悉这三种语言的前缀和后缀运算符。我为它做了一个在线练习考试,我犯的一个错误是在评估以下代码时:varx=10;x+=x--;现在,我认为它会计算为19,因为它是10+10,然后减去1得到9。但我得到的反馈是它是错误的,它实际上计算为20。我认为这听起来有点可疑,所以我在HTML文档中对其进行了测试,结果又是20。然后我尝试了C和Perl中的等价物,并且都评估为19。谁能向我解释为什么JavaScript将答案计算为20而其他语言将其计算为19?我从测试中得到的答案对我来说不是太清楚:Theincrement+

javascript构造函数重置: What is it?

我看到这张幻灯片:http://www.slideshare.net/stoyan/javascript-patterns#postComment第35页:选项5+super+构造函数重置functioninherit(C,P){varF=function(){};F.prototype=P.prototype;C.prototype=newF();C.uber=P.prototype;C.prototype.constructor=C;//WHY???}我不明白。谁能解释一下最后一行是什么?C.prototype.constructor=C;//WHY???谢谢

javascript - 一个不涉及模拟经典继承的原型(prototype)继承的例子?

我阅读了以下QA,它们都检查了使用原型(prototype)继承来模拟经典继承。GoodExampleofJavaScript'sPrototype-BasedInheritancejavascriptinheritanceUsinginheritancepatternsinJavaScript在野外没有一个原型(prototype)继承的工作示例吗?也许是模拟生命形式?除了那些由编程语言创建或未充分解决的问题之外,还有哪些问题可以从原始原型(prototype)继承中受益? 最佳答案 继承就是继承,因此您可以从两者中获得相同的基本